home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibt3sp4.arc / TRIM.PAS < prev    next >
Pascal/Delphi Source File  |  1985-05-16  |  2KB  |  57 lines

  1. (*--------------------------------------------------------------------------*)
  2. (*               Trim --- Trim trailing blanks from a string                *)
  3. (*--------------------------------------------------------------------------*)
  4.  
  5. FUNCTION Trim( S : AnyStr ) : AnyStr;
  6.  
  7. (*--------------------------------------------------------------------------*)
  8. (*                                                                          *)
  9. (*     Function:   Trim                                                     *)
  10. (*                                                                          *)
  11. (*     Purpose:    Trims trailing blanks from a string                      *)
  12. (*                                                                          *)
  13. (*     Calling sequence:                                                    *)
  14. (*                                                                          *)
  15. (*         Trimmed_S := TRIM( S );                                          *)
  16. (*                                                                          *)
  17. (*            S          --- the string to be trimmed                       *)
  18. (*            Trimmed_S  --- the trimmed version of S                       *)
  19. (*                                                                          *)
  20. (*     Calls:  None                                                         *)
  21. (*                                                                          *)
  22. (*     Remarks:                                                             *)
  23. (*                                                                          *)
  24. (*        Note that the original string itself is left untrimmed.           *)
  25. (*                                                                          *)
  26. (*--------------------------------------------------------------------------*)
  27.  
  28. VAR
  29.    I:       INTEGER;
  30.    Trimmed: BOOLEAN;
  31.  
  32. BEGIN (* Trim *)
  33.  
  34.    Trim := '';
  35.  
  36.    IF LENGTH( S ) > 0 THEN
  37.       BEGIN
  38.  
  39.          I       := LENGTH( S ) + 1;
  40.          Trimmed := FALSE;
  41.  
  42.          REPEAT
  43.  
  44.             I := I - 1;
  45.             IF ( I > 0 ) THEN
  46.                Trimmed := S[I] <> ' '
  47.             ELSE
  48.                Trimmed := TRUE;
  49.  
  50.          UNTIL Trimmed;
  51.  
  52.          IF ( I > 0 ) THEN Trim := COPY( S, 1, I );
  53.  
  54.       END;
  55.  
  56. END   (* Trim *);
  57.